package com.googlecode.yoohoo.io.socket;

import java.util.ArrayList;
import java.util.List;

import com.googlecode.yoohoo.config.DefaultConfigManager;
import com.googlecode.yoohoo.config.OptionDescription;

public class ConfigManager extends DefaultConfigManager {
	public static final String KEY_DISABLE_CONNECTOR = "disable.connector";
	public static final String KEY_SERVER_PORT = "server.port";
	public static final String KEY_AUTH_MAX_RETRIES = "auth.max.retries";
	public static final String KEY_DEFAULT_CONNECTION_IDLE_TIME = "default.connection.idle.time";
	public static final String KEY_TLS_REQUIRED = "tls.required";
	public static final String KEY_LOGGING_MINA = "logging.mina";

	@Override
	protected List<OptionDescription> getOptionDescriptions() {
		List<OptionDescription> optionDescriptions = new ArrayList<OptionDescription>();
		optionDescriptions.add(new OptionDescription(KEY_LOGGING_MINA, Boolean.class, false));
		optionDescriptions.add(new OptionDescription(KEY_TLS_REQUIRED, Boolean.class, true));
		optionDescriptions.add(new OptionDescription(KEY_DEFAULT_CONNECTION_IDLE_TIME, Integer.class, 15));
		optionDescriptions.add(new OptionDescription(KEY_AUTH_MAX_RETRIES, Integer.class, 3));
		optionDescriptions.add(new OptionDescription(KEY_SERVER_PORT, Integer.class, 5322));
		optionDescriptions.add(new OptionDescription(KEY_DISABLE_CONNECTOR, Boolean.class, false));

		return optionDescriptions;
	}
}
